翻訳と辞書 |
First-class citizen : ウィキペディア英語版 | First-class citizen
In programming language design, a first-class citizen (also type, object, entity, or value) in a given programming language is an entity which supports all the operations generally available to other entities. These operations typically include being passed as an argument, returned from a function, and assigned to a variable. ==History==
The concept of first- and second- class objects was introduced by Christopher Strachey in the 1960s.〔Rod Burstall, "Christopher Strachey—Understanding Programming Languages", ''Higher-Order and Symbolic Computation'' 13:52 (2000)〕〔Harold Abelson and Gerald Jay Sussman, ''Structure and Interpretation of Computer Programs'', 2nd edition, section 1.3.4 (footnote 64 )〕 He did not actually define the term strictly, but contrasted real numbers and procedures in ALGOL:
First and second class objects. In , a real number may appear in an expression or be assigned to a variable, and either may appear as an actual parameter in a procedure call. A procedure, on the other hand, may only appear in another procedure call either as the operator (the most common case) or as one of the actual parameters. There are no other expressions involving procedures or whose results are procedures. Thus in a sense procedures in are second class citizens—they always have to appear in person and can never be represented by a variable or expression (except in the case of a formal parameter)... 〔Christopher Strachey, "Fundamental Concepts in Programming Languages" in ''Higher-Order and Symbolic Computation'' 13:11 (2000); though published in 2000, these are notes from lectures Strachey delivered in August, 1967〕 During the 1990s, Raphael Finkel〔Finkel, R. ''Advanced Programming language Design'', p 73〕 proposed definitions of second and third class values, but these definitions have not been widely adopted.
抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「First-class citizen」の詳細全文を読む
スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース |
Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.
|
|